openapi: 3.0.1
info:
  title: Concurrence and Referral - ePlanning to Agency API
  description: |
    # Authentication    

     Please use the subscription key provided by the Department to access the APIs.
  contact: {}
  version: v1
servers:
  - url: https://api-uat.apps1.nsw.gov.au/planning
paths:
  /CreateCNR/{CaseID}:
    post:
      summary: CreateCNR
      description: >-
        This operation transfers the Council's decision to create the
        Concurrence and Referral case from ePlanning's IT system to the agency's
        Online Concurrence and Referral Service. In this operation respective
        agency cases are created based on clauses present in CNR case .
      operationId: CreateCNR
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Concurrence and Referral case number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name to indicate where the request is originated
            from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCNR'
        required: true
      responses:
        '200':
          description: Case updated
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /UpdateCNR/{CaseID}:
    put:
      summary: UpdateCNR
      description: >-
        This operation transfers the Council's decision to edit the Concurrence
        and Referral case from ePlanning's IT system to the Agency's online
        Concurrence and Referral Service. In this operation,council can edit CNR
        application details, add new agency or modify existing clause of an
        agency.
      operationId: UpdateCNR
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Concurrence and Referral application number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: The council name to indicate where the request is originated from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCNR'
        required: true
      responses:
        '200':
          description: Case updated
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /CNRCancel/{CaseID}:
    put:
      summary: CNRCancel
      description: >-
        This operation transfers the Council's decision to cancel the
        Concurrence and Referral  application.
      operationId: CNRCancel
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Concurrence and Referral case
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name to indicate where the response is originating
            from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cancel'
        required: true
      responses:
        '200':
          description: Case Cancelled
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /CNRPaymentNotification/{CaseID}:
    put:
      summary: CNRPaymentNotification
      description: >-
        This operation transfers the payment done by applicant on CNR
        application from ePlanning's IT system to Agency's IT System.
      operationId: CNRPaymentNotification
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Concurrence and Referral case Number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name to indicate where the request is originated
            from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Payment'
        required: true
      responses:
        '200':
          description: Payment successful
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /CNRUploadAgencyCommunication/{CaseID}:
    put:
      summary: CNRUploadAgencyCommunication
      description: >-
        This operation transfers the communication document uploaded by the
        council on the CNR case to the Agency's IT system.
      operationId: CNRUploadAgencyCommunication
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Concurrence and Referral case number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name to indicate where the request is originated
            from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadAgencyCommunication'
        required: true
      responses:
        '200':
          description: Document uploaded successfully
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /CNRUploadSubmission/{CaseID}:
    put:
      summary: CNRUploadSubmission
      description: >-
        This operation transfers the Public submission documents(related to DA
        Exhibition) uploaded by the council on the CNR case to the Agency's IT
        system.
      operationId: CNRUploadSubmission
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Concurrence and Referral case number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name to indicate where the request is originated
            from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadSubmission'
        required: true
      responses:
        '200':
          description: Document uploaded successfully
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /WithdrawAgency/{CaseID}:
    put:
      summary: WithdrawAgency
      description: >-
        This operation transfers Council decision to withdraw particular agency
        application.
      operationId: WithdrawAgency
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Agency Concurrence and Referral case number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name to indicate where the request is originated
            from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WithdrawAgency'
        required: true
      responses:
        '200':
          description: case updated
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /CNRUpdateMetadata/{CaseID}:
    put:
      summary: CNRUpdateMetadata
      description: >-
        This operation enables user to mark or update sensitive and assessment
        documents.
      operationId: CNRUpdateMetadata
      parameters:
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to route the request to the council's API
            endpoint.
          required: true
          schema:
            type: string
        - name: CaseID
          in: path
          description: A fully qualified application number or case id
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetaData'
        required: true
      responses:
        '200':
          description: Metadata updated successfully.
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/*:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/*:
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /CNRUpdateAdditionalInfo/{CaseID}:
    put:
      summary: CNRUpdateAdditionalInfo
      description: >-
        This operation transfers the additional information provided by Council
        (requested by particular Agency) from ePlanning's IT system to the
        Agency's IT System.
      operationId: CNRUpdateAdditionalInfo
      parameters:
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to route the request to the council's API
            endpoint.
          required: true
          schema:
            type: string
        - name: CaseID
          in: path
          description: A fully qualified application number or case id
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProvideAdditionalInformation'
        required: true
      responses:
        '200':
          description: case updated
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/*:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/*:
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /RelayCNRUpdateAdditionalInfo/{CaseID}:
    put:
      summary: RelayCNRUpdateAdditionalInfo
      description: >-
        This operation transfers the updates of other agencies through relay
        when council provides additional information (requested by particular
        Agency)from ePlanning's IT system to the Agency's IT System.
      operationId: RelayCNRUpdateAdditionalInfo
      parameters:
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to route the request to the council's API
            endpoint.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
        - name: CaseID
          in: path
          description: A fully qualified application number or case id
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProvideAdditionalInformation'
        required: true
      responses:
        '200':
          description: case updated.
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/*:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/*:
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /RelayUploadAgencyCommunication/{CaseID}:
    put:
      summary: RelayUploadAgencyCommunication
      description: >-
        This operation transfers the updates of other agencies use Relay
        Function.This operation transfers the communication document uploaded by
        the council on the CNR case to the Agency's IT system.
      operationId: RelayUploadAgencyCommunication
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Concurrence and Referral case number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name to indicate where the request is originated
            from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadAgencyCommunication'
        required: true
      responses:
        '200':
          description: Document uploaded successfully
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /RelayCNRReassign/{CaseID}:
    put:
      summary: RelayCNRReassign
      description: >-
        This operation provides updates on reassigning CNR Council case officer
        to Agency's IT System. CNR Case is re-assigned to another Case Officer
        within same council .
      operationId: RelayCNRReassign
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Portal Application Number (Case ID).
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to route the request to the council's API
            endpoint
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/reassign'
        required: true
      responses:
        '200':
          description: Case reassigned
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /RelayWithdrawAgency/{CaseID}:
    put:
      summary: RelayWithdrawAgency
      description: >-
        This operation transfers Council decision to withdraw particular
        Agency.Relay Function provide updates of other agencies.  application.
      operationId: RelayWithdrawAgency
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified Agency Concurrence and Referral case number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name to indicate where the request is originated
            from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WithdrawAgency'
        required: true
      responses:
        '200':
          description: case withdrawn
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /RelayAgencyAcceptReturn/{CaseID}:
    put:
      summary: RelayAgencyAcceptReturn
      description: >-
        To get updates of other agencies use Relay Function .This operation
        transfers the agency's pre-assessment(accepted,Rejected etc)on Agency
        application from agency's IT system to the ePlanning's IT System."
      operationId: RelayAgencyAcceptReturn
      parameters:
        - name: CaseID
          in: path
          description: >-
            A fully qualified Agency Concurrence and Referral case. E.g. A-xxx
            case
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name or Agency Organisation name to indicate where
            the request has originated from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreAssessment'
        required: true
      responses:
        '200':
          description: Case Submitted by Applicant
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
  /RelayAgencyDecision/{CaseID}:
    put:
      summary: RelayAgencyDecision
      description: >-
        This operation transfers particular agency's decision(approve, approve
        (with conditions),Refuse, Advice, Decision not required ) from agency's
        IT system to ePlanning's IT System. This is to get updates of other
        agencies using Relay Function .
      operationId: RelayAgencyDecision
      parameters:
        - name: CaseID
          in: path
          description: >-
            A fully qualified Agency Concurrence and Referral case. E.g. A-xxx
            case
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            The council LGA name to indicate where the request is originated
            from.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically, a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        description: Information request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelayAgencyDecision'
        required: true
      responses:
        '200':
          description: case updated
          content: {}
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
      x-codegen-request-body-name: body
components:
  schemas:
    Error:
      title: Error
      required:
        - errorCode
        - statusCode
      type: object
      properties:
        statusCode:
          type: integer
          format: int32
          example: 404
        message:
          type: string
          example: Internal Server error 19876
        activityId:
          type: string
          example: 00000011-0ab-xy00-0000-500000000000
        errorCode:
          type: string
          example: DPE_TMS01
          minLength: 1
        errorDetails:
          type: string
          example: Inner Exceptions, Stack Trace, etc
    MetaData:
      title: MetaData
      type: object
      required:
        - updatedBy
      properties:
        caseStatus:
          maxLength: 32
          type: string
          description: Status of the Concurrence and Referral case
          example: submitted
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentsInfo'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    ProvideAdditionalInformation:
      type: object
      properties:
        caseStatus:
          maxLength: 32
          type: string
          description: Status of the Concurrence and Referral case
          example: submitted
        additionalInfoProvided:
          title: Does the applicant agree to provide the information
          type: boolean
          description: >-
            it infers whether the applicant agrees to provide the information
            requested
        allAdditionalInfoRequests:
          type: array
          description: The additional information requests made earlier.
          items:
            $ref: '#/components/schemas/ProvideAdditionalInfo'
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        documents:
          type: array
          description: >-
            Documnets uploaded by council. only applicable when
            additionalInfoProvided is- "true"
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    DocumentsInfo:
      type: object
      properties:
        docType:
          type: string
          description: Document Category
          example: Fee estimate
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/AttachmentInfo'
    AttachmentInfo:
      required:
        - docID
        - isSensitiveDoc
      type: object
      properties:
        docID:
          type: string
          description: Document Id which was received as part of outbound call.
          example: >-
            DATA-WORKATTACH-FILE PEC-DPE-EP-WORK CDC-7850!20201124T125127.562
            GMT
          minLength: 1
        docName:
          type: string
          description: Document Name which was received as part of outbound call.
          example: FeeEstimate_1619732080.pdf
        isSensitiveDoc:
          type: boolean
          description: set this flag if you want to mark the document as sensitive
    CreateCNR:
      title: CreateCNR
      required:
        - DALodgementDate
        - agencySelection
        - applicant
        - applicationType
        - costOfDevelopment
        - declarations
        - commonApplicationTypes
        - documents
        - existingDANumber
        - isApplicationNotified
        - isApplyBehalfOnCompany
        - officerResponsible
        - proposedDevelopmentTypeDescription
        - securityConditions
        - updatedBy
        - siteAddresses
      type: object
      properties:
        caseStatus:
          maxLength: 32
          type: string
          description: Status of the CNR case.
        applicationType:
          $ref: '#/components/schemas/applicationTypes'
        DALodgementDate:
          type: string
          description: Date when the original DA was lodged.
          format: date
          example: '2020-18-12'
          minLength: 1
        existingDANumber:
          maxLength: 50
          type: string
          description: holds the DA number related to the application.
          minLength: 1
        securityConditions:
          type: boolean
          description: >-
            Used to hold the value of whether are they any security or site
            conditions which may impact on the person undertaking the
            inspection.
        detailsOfSecurityConditions:
          maxLength: 512
          type: string
          description: >-
            Applicable only when we select 'SecurityConditions' is true and
            holds the detailed description of securityConditions.
        originalDADeterminationDate:
          type: string
          description: >-
            Date when the original DA was determined and is applicable when
            'applicationType' is 'Modification application' or 'Review of
            determination'. When 'applicationType' is 'Review of determination'
            and 'isExistingOnlineDA' is true, then this field is not applicable.
          format: date
          example: '2020-18-12'
        modificationType:
          $ref: '#/components/schemas/modificationTypes'
        proposedModificationDescription:
          maxLength: 512
          type: string
          description: Required if when 'applicationType' is 'Modification application'
        subjectOfReview:
          $ref: '#/components/schemas/SubjectOfReview'
        isExistingOnlineDA:
          type: boolean
          description: >-
            Applicable when 'applicationType' is 'Modification application' or
            'Review of determination' and this checks whether the DA applied for
            via the NSW Planning Portal or not
        stateAgencyName:
          type: string
          description: >-
            This is to track the corresponding stateagency names for which the
            referrals are created.
        existingOnlinePANNumber:
          maxLength: 10
          type: string
          description: >-
            This is to record the provide portal application number (DA Number)
            applied over NSW Planning Portal.
        commonApplicationTypes:
          type: array
          items:
            $ref: '#/components/schemas/CommonApplicationType'
          description: >-
            This is to track the common Application types. Example values are 1.
            Advertising and signage 2. Alterations or additions to an existing
            building or structure 3. Change of use of land or a building or the
            classification of a building under the Building Code of Australia 4.
            Demolition 5. Erection of a new structure 6. Hours of operation and
            trading 7. Subdivision 8. Temporary building, structure or use
        subdivisionTypes:
          type: array
          items:
            type: string
          description: >-
            This is to track the appropriate subdivision types. This is
            applicable when 'Subdivision' is one of the common application
            type('commonApplicationTypes'). Example values are 1. Strata Title
            2. Community Title 3. Torrens Title 4. Stratum Title
        numOfExistingLots:
          type: integer
          description: >-
            This is to track the number of existing lots. This is applicable
            when 'Subdivision' is one of the common application
            types('commonApplicationTypes').
        numOfProposedLots:
          type: integer
          description: >-
            This is to track the number of proposed lots. This is applicable
            when 'Subdivision' is one of the common application
            types('commonApplicationTypes').
        developmentType:
          type: array
          items:
            $ref: '#/components/schemas/developmentTypes'
        otherDevType:
          maxLength: 100
          type: string
          description: Required when 'Other' is selected in 'developmentType'
        proposedDevelopmentTypeDescription:
          maxLength: 512
          type: string
          description: >-
            Required if when 'applicationType' is 'Development application' or
            'Modification application'
          minLength: 1
        isNaturalDisaster:
          type: boolean
          description: >-
            Is this application the direct result of a matter declared by the
            government to be an emergency and/or a natural disaster (for
            example, an application for re-building a home destroyed by
            bushfire)
        siteAddresses:
          type: array
          items:
            $ref: '#/components/schemas/Location'
        isApplyBehalfOnCompany:
          type: boolean
          description: Is the user applying on behalf of a company
        companyName:
          maxLength: 256
          type: string
          description: >-
            Infers the name of the company. This is required if 'Is the
            application on behalf of a company, business or body corporate?' =
            Yes
        ABNorACN:
          maxLength: 14
          type: string
          description: >-
            Holds the ABN or ACN relating to the company. Lengths allowed are
            '11' for ABN and '9' for ACN. This is applicable if
            'isApplyBehalfOnCompany' = true
        applicant:
          $ref: '#/components/schemas/Person'
        councilName:
          type: string
          description: >-
            This is to track the council names for which the referrals are
            created.
        officerResponsible:
          type: string
          description: This infers the responsible officer in charge for the application
          minLength: 1
        officerNumber:
          type: string
          description: >-
            This infers the contact number of responsible officer in charge for
            the application.
        officerEmail:
          type: string
          description: >-
            This infers the email of responsible officer in charge for the
            application.
        costOfDevelopment:
          type: number
          description: Estimated cost of development
          format: decimal
        determinedAuthority:
          type: string
          description: >-
            It infers Which determining authority is expected to determine the
            application? One of the below mentioned values must be selected for
            determinedAuthority 1. Council 2. Sydney or Regional Planning Panel
            3. Local Planning Panel 4. Central Sydney Planning Committee
          example: Refer to description for values
        panelHearingDate:
          type: string
          description: >-
            Infers the date (which is not past) on which the Planning panel
            hearing will be conducted by the anticipated council. This is
            applicable only when 'determinedAuthority' is 'Sydney or Regional
            Planning Panel' or 'Local Planning Panel'
          format: date
          example: '2020-18-12'
        isApplicationNotified:
          type: boolean
          description: >-
            Is this case notified or advertised if we select
            isApplicationExhibited as Yes New Exhibition case will be created.
        publicSubmissionEndDate:
          type: string
          description: >-
            It infers the date by which offline submission need to be received
            from council. By default, this is 21 days ahead of current date.
          format: date
          example: '2020-18-12'
        agencySelection:
          type: array
          description: Infers the agency selection and it's relevant details.
          items:
            $ref: '#/components/schemas/agencyAndClause'
        dateSubmittedToAgency:
          type: string
          description: The date on which agency case is submitted to agency.
          format: date
          example: '2020-18-12'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Documents'
        declarations:
          type: array
          items:
            $ref: '#/components/schemas/CNRdeclarations'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    UpdateCNR:
      title: CreateCNR
      required:
        - DALodgementDate
        - agencySelection
        - applicant
        - applicationType
        - costOfDevelopment
        - declarations
        - commonApplicationTypes
        - documents
        - existingDANumber
        - isApplicationNotified
        - isApplyBehalfOnCompany
        - officerResponsible
        - proposedDevelopmentTypeDescription
        - securityConditions
        - updatedBy
        - siteAddresses
      type: object
      properties:
        caseStatus:
          maxLength: 32
          type: string
          description: Status of the CNR case.
        applicationType:
          $ref: '#/components/schemas/applicationTypes'
        DALodgementDate:
          type: string
          description: Date when the original DA was lodged.
          format: date
          example: '2020-18-12'
          minLength: 1
        existingDANumber:
          maxLength: 50
          type: string
          description: holds the DA number related to the application.
          minLength: 1
        securityConditions:
          type: boolean
          description: >-
            Used to hold the value of whether are they any security or site
            conditions which may impact on the person undertaking the
            inspection.
        detailsOfSecurityConditions:
          maxLength: 512
          type: string
          description: >-
            Applicable only when we select 'SecurityConditions' is true and
            holds the detailed description of securityConditions.
        originalDADeterminationDate:
          type: string
          description: >-
            Date when the original DA was determined and is applicable when
            'applicationType' is 'Modification application' or 'Review of
            determination'. When 'applicationType' is 'Review of determination'
            and 'isExistingOnlineDA' is true, then this field is not applicable.
          format: date
          example: '2020-18-12'
        modificationType:
          $ref: '#/components/schemas/modificationTypes'
        proposedModificationDescription:
          maxLength: 512
          type: string
          description: Required if when 'applicationType' is 'Modification application'
        subjectOfReview:
          $ref: '#/components/schemas/SubjectOfReview'
        isExistingOnlineDA:
          type: boolean
          description: >-
            Applicable when 'applicationType' is 'Modification application' or
            'Review of determination' and this checks whether the DA applied for
            via the NSW Planning Portal or not
        stateAgencyName:
          type: string
          description: >-
            This is to track the corresponding stateagency names for which the
            referrals are created.
        existingOnlinePANNumber:
          maxLength: 10
          type: string
          description: >-
            This is to record the provide portal application number (DA Number)
            applied over NSW Planning Portal.
        commonApplicationTypes:
          type: array
          items:
            $ref: '#/components/schemas/CommonApplicationType'
          description: >-
            This is to track the common Application types. Example values are 1.
            Advertising and signage 2. Alterations or additions to an existing
            building or structure 3. Change of use of land or a building or the
            classification of a building under the Building Code of Australia 4.
            Demolition 5. Erection of a new structure 6. Hours of operation and
            trading 7. Subdivision 8. Temporary building, structure or use
        subdivisionTypes:
          type: array
          items:
            type: string
          description: >-
            This is to track the appropriate subdivision types. This is
            applicable when 'Subdivision' is one of the common application
            type('commonApplicationTypes'). Example values are 1. Strata Title
            2. Community Title 3. Torrens Title 4. Stratum Title
        numOfExistingLots:
          type: integer
          description: >-
            This is to track the number of existing lots. This is applicable
            when 'Subdivision' is one of the common application
            types('commonApplicationTypes').
        numOfProposedLots:
          type: integer
          description: >-
            This is to track the number of proposed lots. This is applicable
            when 'Subdivision' is one of the common application
            types('commonApplicationTypes').
        developmentType:
          type: array
          items:
            $ref: '#/components/schemas/developmentTypes'
        otherDevType:
          maxLength: 100
          type: string
          description: Required when 'Other' is selected in 'developmentType'
        proposedDevelopmentTypeDescription:
          maxLength: 512
          type: string
          description: >-
            Required if when 'applicationType' is 'Development application' or
            'Modification application'
          minLength: 1
        isNaturalDisaster:
          type: boolean
          description: >-
            Is this application the direct result of a matter declared by the
            government to be an emergency and/or a natural disaster (for
            example, an application for re-building a home destroyed by
            bushfire)
        siteAddresses:
          type: array
          items:
            $ref: '#/components/schemas/Location'
        isApplyBehalfOnCompany:
          type: boolean
          description: Is the user applying on behalf of a company
        companyName:
          maxLength: 256
          type: string
          description: >-
            Infers the name of the company. This is required if 'Is the
            application on behalf of a company, business or body corporate?' =
            Yes
        ABNorACN:
          maxLength: 14
          type: string
          description: >-
            Holds the ABN or ACN relating to the company. Lengths allowed are
            '11' for ABN and '9' for ACN. This is applicable if
            'isApplyBehalfOnCompany' = true
        applicant:
          $ref: '#/components/schemas/Person'
        councilName:
          type: string
          description: >-
            This is to track the council names for which the referrals are
            created.
        officerResponsible:
          type: string
          description: This infers the responsible officer in charge for the application
          minLength: 1
        officerNumber:
          type: string
          description: >-
            This infers the contact number of responsible officer in charge for
            the application.
        officerEmail:
          type: string
          description: >-
            This infers the email of responsible officer in charge for the
            application.
        costOfDevelopment:
          type: number
          description: Estimated cost of development
          format: decimal
        determinedAuthority:
          type: string
          description: >-
            It infers Which determining authority is expected to determine the
            application? One of the below mentioned values must be selected for
            1. Council 2. Sydney or Regional Planning Panel 3. Local Planning
            Panel 4. Central Sydney Planning Committee
          example: Refer to description for values
        panelHearingDate:
          type: string
          description: >-
            Infers the date (which is not past) on which the Planning panel
            hearing will be conducted by the anticipated council. This is
            applicable only when 'determinedAuthority' is 'Sydney or Regional
            Planning Panel' or 'Local Planning Panel'
          format: date
          example: '2020-18-12'
        isApplicationNotified:
          type: boolean
          description: >-
            Is this case notified or advertised if we select
            isApplicationExhibited as Yes New Exhibition case will be created.
        publicSubmissionEndDate:
          type: string
          description: >-
            It infers the date by which offline submission need to be received
            from council. By default, this is 21 days ahead of current date.
          format: date
          example: '2020-18-12'
        agencySelection:
          type: array
          description: Infers the agency selection and it's relevant details.
          items:
            $ref: '#/components/schemas/agencyAndClause'
        dateSubmittedToAgency:
          type: string
          description: The date on which agency case is submitted to agency.
          format: date
          example: '2020-18-12'
        documents:
          type: array
          description: This block will be sending the full set of documents.
          items:
            $ref: '#/components/schemas/Documents'
        deltaDocuments:
          type: array
          description: >-
            This block will be sending the delta documents uploaded or updated
            as part of update operation.
          items:
            $ref: '#/components/schemas/Documents'
        declarations:
          type: array
          items:
            $ref: '#/components/schemas/CNRdeclarations'
        determination:
          $ref: '#/components/schemas/RelayDetermination'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    reassign:
      title: reassign
      required:
        - assignee
      type: object
      properties:
        assignee:
          $ref: '#/components/schemas/UpdatedBy'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    PreAssessment:
      required:
        - isAgencyAssessmentReq
        - updatedBy
      type: object
      properties:
        isAgencyAssessmentReq:
          $ref: '#/components/schemas/AgencyAssessment'
        rejectReason:
          title: Please provide reason
          type: string
          description: >-
            This infers that the agency need to provide the reason for which the
            assessment is not required. Mandatory when 'isAgencyAssessmentReq'
            is- 'Reject' OR 'Reject All'
        CNRCaseID:
          type: string
          description: Holds CNR Case ID
          example: CNR-XXX
        agencyToBeAssessed:
          type: string
          description: This Infers Agencyname which is performing Preassessment .
        agencyOfficer:
          title: Assign case to
          maxLength: 32
          type: string
          description: applicable when isAgencyAssessmentReq is "Accept" or "Accept all"
        clauseDetails:
          type: array
          items:
            $ref: '#/components/schemas/ClauseDetails'
        documents:
          type: array
          description: >-
            Documents will be avaialble if the isAgencyAssessmentReq is 'Reject'
            OR 'Reject All'
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    Decision:
      required:
        - agencyResponse
        - updatedBy
      type: object
      properties:
        agencyResponse:
          $ref: '#/components/schemas/DecisionOutcome'
        decisionComments:
          type: string
          description: >-
            It infers the comments from the agency if they have selected agency
            response as 'Refuse' OR  'Decision not required'. It is mandatory
            when agency response is 'Decision not required'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    RejetedClauses:
      type: object
      properties:
        agencyName:
          type: string
          description: Name of the agency
        clauses:
          type: array
          items:
            $ref: '#/components/schemas/RejectedClauseDetails'
        dateRejected:
          type: string
          description: This infers the name of the agency which has rejected the clause.
          format: date
        contactName:
          type: string
          description: >-
            It infers the contact name of the agency which has rejected the
            clause.
        contactNumber:
          type: string
          pattern: ^[0-9]+$
          maxLength: 10
          minLength: 8
          description: >-
            It infers the contact number of the agency which has rejected the
            clause.
    IndividualAgencyAssessment:
      type: string
      description: >-
        Is agency assessment required? One of the below mentioned values must be
        selected for IndividualAgencyAssessment. 1. Accept 2. Reject
      example: Refer to description for values
    ClauseDetails:
      type: object
      properties:
        isAgencyAssessmentReq:
          $ref: '#/components/schemas/IndividualAgencyAssessment'
        rejectReason:
          type: string
          description: >-
            This infers that the agency need to provide the reason for which the
            assessment is not required. Mandatory when 'isAgencyAssessmentReq'
            is- 'Reject'
        clauseName:
          type: string
          description: Clause name corresponding to agency case.
        clauseType:
          type: string
          description: >-
            Type of the clause. One of the below mentioned values must be
            selected for clauseType 1. Concurrence 2. Referral 3. Integrated 4.
            Notification/Information
          example: Refer to description for values
      description: >-
        Applicable when isAgencyAssessmentReq is 'Accept/Reject individually'.
        Where there are multiple isAgencyAssessmentReq it implies that a single
        Agency may have multiple clauses to be accepted or Rejected
        Individually.
    AgencyAssessment:
      type: string
      description: >-
        Is agency assessment required? "Accept all","Reject all" and
        "Accept/Reject individually" are only applicable when agency has more
        than one clause. One of the below mentioned values must be selected for
        AgencyAssessment 1. Accept 2. Reject 3. Accept all 4. Reject all 5.
        Accept/Reject individually
      example: Refer to description for values
    RejectedClauseDetails:
      type: object
      properties:
        clause:
          type: string
          description: It infers the clauses which has been rejected by Agency.
        status:
          maxLength: 32
          type: string
          description: >-
            It infers the status of the clauses which has been rejected by
            Agency.
        reason:
          type: string
          description: >-
            It infers the reason which agency has provided while rejecting the
            clause.
    cancel:
      title: cancel
      required:
        - cancellationDate
        - cancellationReason
      type: object
      properties:
        cancellationReason:
          type: string
          description: >-
            Infers the reason why the case is cancelled. One of the below
            mentioned values must be selected for cancellationReason 1. All
            clauses rejected by agencies 2. DA has been withdrawn 3. Other
          example: Refer to description for values
          minLength: 1
        cancelReason:
          type: string
          description: Infers the reason why the case is cancelled if 'Other' is selected.
        cancellationDate:
          type: string
          description: It infers the date on which the case is cancelled
          format: date
          example: 10-12-2022
          minLength: 1
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    Payment:
      title: CNR_Payemnt
      type: object
      properties:
        caseStatus:
          maxLength: 80
          type: string
          description: Status of the payment case
          example: Paid
        paymentStatus:
          type: string
          description: It infers the current status of payment
          example: Approved
        caseRef:
          maxLength: 32
          type: string
          description: >-
            It infers the CNR case number corresponding to which payment case is
            created
          example: CNR-XXXX
        existingDANumber:
          maxLength: 50
          type: string
          description: It infers the DA number to which the Payment is being requested
        paymentReferenceNumber:
          type: string
          description: Payment reference number
        totalAmount:
          type: number
          description: Amount of payment done by applicant
          format: decimal
        paymentDueDate:
          type: string
          description: It infers the date by which the payment has to be made by applicant
          format: date
          example: '2021-03-18'
        paymentTransDate:
          type: string
          description: Date of Payment
          format: date
          example: '2021-03-18'
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Documents'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    UploadAgencyCommunication:
      title: UploadAgencyCommunication
      type: object
      properties:
        caseStatus:
          maxLength: 32
          type: string
          description: Status of the CNR case
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        uploadAgencyCommunicationDocuments:
          type: array
          items:
            $ref: '#/components/schemas/councilDocuments'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    UploadSubmission:
      title: UploadSubmission
      type: object
      properties:
        caseStatus:
          maxLength: 32
          type: string
          description: Status of the CNR case
        noSubmissionRcvd:
          type: boolean
          description: >-
            It infers that there is no public submission has been received
            around the request.
        closingDate:
          type: string
          description: It infers the expected closing date for public submission.
          format: date
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Documents'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    WithdrawAgency:
      title: WithdrawAgency
      required:
        - updatedBy
        - withdrawalDate
      type: object
      properties:
        caseStatus:
          maxLength: 32
          type: string
          description: Status of the Agency CNR case
        CNRCaseID:
          maxLength: 32
          type: string
          description: CNR Case ID.
          example: CNR-XXX
        withdrawalDate:
          type: string
          description: Date on which case is withdrawn
          format: date
          minLength: 1
        withdrawalReason:
          type: string
          description: Reason for which the case is withdrawn
        agencyBeingWithrawn:
          maxLength: 256
          type: string
          description: Agency name withdrawn by council
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    RelayAgencyDecision:
      title: RelayAgencyDecision
      required:
        - agencyResponse
        - updatedBy
      type: object
      properties:
        caseStatus:
          type: string
          description: Status of the Agency case
        CNRCaseID:
          type: string
          description: Holds CNR Case ID
          example: CNR-XXX
        agencyProvidingDecision:
          type: string
          description: This Infers Agencyname which is performing Decision.
        agencyResponse:
          $ref: '#/components/schemas/DecisionOutcome'
        decisionComments:
          type: string
          description: >-
            It infers the comments from the agency if they have selected agency
            response as 'Refuse' OR  'Decision not required'. It is mandatory
            when agency response is 'Decision not required'
        agencies:
          type: array
          items:
            $ref: '#/components/schemas/agencyInfo'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Documents'
        updatedBy:
          $ref: '#/components/schemas/UpdatedBy'
    DecisionOutcome:
      title: DecisionOutcome
      type: string
      description: >-
        It infers the outcome of the decision on the Agency case A-xxx given by
        agency. One of the below mentioned values must be selected for
        DecisionOutcome 1. Approve (with conditions) 2. Approve 3. Refuse 4.
        Advice 5. Decision not required
      example: Refer to description for values
    RelayDetermination:
      title: RelayDetermination
      required:
        - determinationOutcome
      type: object
      properties:
        determinationOutcome:
          title: This application has been assessed and has been
          type: string
          description: >-
            Outcome of the case assessment. One of the below mentioned values
            must be selected for determinationOutcome 1. Approved 2.
            Determination provided - deferred commencement consent 3. Refused
          example: Refer to description for values
          minLength: 1
        determinationDate:
          type: string
          description: Date on which this case is determined. It cannot be a future date
          format: date
          example: '2020-09-10'
      description: >-
        This infers as the determination stage of CNR case. Council determining
        CNR Case is handled as a part of UpdateCNR operation.
    modificationTypes:
      type: string
      description: >-
        Required if when 'applicationType' is 'Modification application'. One of
        the below mentioned values must be selected for modificationTypes 1.
        S4.55(1) - Modification to correct a minor error, misdescription or
        miscalculation made in the consent 2. S4.55(1A) - Modification involving
        minimal environmental impact, where the development will remain
        substantially the same as the development that was originally approved
        3. S4.55(2) - Other modification, where the development will remain
        substantially the same as the development that was originally approved
        4. S4.56 - Modification to a development consent granted by the NSW Land
        and Environment Court, where the development will remain substantially
        the same as the development that was originally approved
      example: Refer to description for values
    DownloadableDocument:
      title: DownloadableDocument
      required:
        - documentName
        - documentType
        - documentURL
        - uploadedDateTime
      type: object
      properties:
        documentName:
          maxLength: 150
          type: string
          description: document Name has to be appended with file extension
          example: test.docx
          minLength: 1
        documentType:
          maxLength: 100
          type: string
          minLength: 1
        uploadedDateTime:
          type: string
          format: date-time
          minLength: 1
        documentURL:
          maxLength: 500
          type: string
          description: URL of the document to be downloaded
          example: https://api-tst.apps1.nsw.gov.au/planning/external/v1/Documents/Doc2
          minLength: 1
        documentSize:
          description: This indicates the file size of the document in bytes
          type: number
        isSensitiveDoc:
          type: boolean
          description: set this flag if you want to mark the document as sensitive
        updatedBy:
          type: string
          example: Council
    UpdatedBy:
      title: UpdatedBy
      type: object
      properties:
        person:
          $ref: '#/components/schemas/PersonBody'
    PersonBody:
      title: PersonBody
      required:
        - email
        - familyName
        - firstName
      type: object
      properties:
        firstName:
          maxLength: 20
          type: string
          example: John
          minLength: 1
        familyName:
          maxLength: 20
          type: string
          example: Smith
          minLength: 1
        email:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal
          example: john.smith@gmail.com
          minLength: 1
        contactNumber:
          type: string
          maxLength: 10
          minLength: 8
          pattern: ^[0-9]+$
    AdditionalInfo:
      type: object
      properties:
        agencyname:
          type: string
          description: Name of the agency who requested the AI
        comments:
          maxLength: 256
          type: string
          description: Comments by the agency for AI
        requestDate:
          type: string
          description: Date of request for addition information
          format: date
          example: '2021-03-18'
        responseDate:
          type: string
          description: Date on which response for addition information came.
          format: date
          example: '2021-03-18'
    ProvideAdditionalInfo:
      type: object
      properties:
        isRespond:
          type: boolean
          description: >-
            It infers that if an applicant wants to respond on request of
            additional information
        agencyRequestedAI:
          type: string
          description: Name of the agency who requested the Additionl Information.
        agencyCaseID:
          type: string
          description: A fully qualified agency case number.
          example: A-XXXX
        comments:
          maxLength: 256
          type: string
          description: Comments by the agency for AI
        status:
          maxLength: 32
          type: string
          description: Additional information request status.
        requestDate:
          type: string
          description: Date of request for addition information
          format: date
          example: '2021-03-18'
        responseDate:
          type: string
          description: Date on which response for addition information came.
          format: date
          example: '2021-03-18'
        councilComments:
          maxLength: 512
          type: string
          description: >-
            This is to track the AI response comments on CNR case from council
            to agency. There comments are optional for council to provide while
            responding to AI.
    ClauseList:
      type: object
      properties:
        agencyname:
          type: string
          description: Name of the agency who requested the AI
        clauseName:
          type: string
          description: clause name corresponding to agency
        decisionOutcome:
          type: string
          description: Outcome of the agency decision
        decisionDate:
          type: string
          description: Date on which decision provided
          format: date
          example: '2021-03-18'
        decisionDueDate:
          type: string
          description: Decision Due date.
          format: date
          example: '2021-03-18'
    SubjectOfReview:
      type: string
      description: >-
        It infers that What type of decision is subject of this review of
        determination?. One of the below mentioned values must be selected for
        SubjectOfReview 1. Determination of a Development Application 2.
        Determination of a Modification Application
      example: Refer to description for values
    developmentTypes:
      type: string
      description: This is to track the type of development proposed.
    Location:
      title: Location
      required:
        - address
      type: object
      properties:
        address:
          maxLength: 250
          type: string
          description: Address where the development is happening
          example: 19-33 Elizabeth Street, Narrandera, 2700
          minLength: 1
        isPrimary:
          type: boolean
          description: It differentiates the secondary addresses
        addressDetail:
          $ref: '#/components/schemas/AddressDetail'
        lotList:
          type: array
          items:
            $ref: '#/components/schemas/LotSectionPlan'
    AddressDetail:
      required:
        - latitude
        - longitude
        - postCode
        - state
        - streetName
        - suburb
      type: object
      properties:
        complexUnitType:
          type: string
        complexLevelType:
          type: string
        complexLevelNumber:
          type: string
        complexUnitIdentifier:
          type: string
        streetNumber1:
          type: string
        streetNumber2:
          type: string
        streetName:
          type: string
          minLength: 1
        streetSuffix:
          type: string
        streetType:
          type: string
        suburb:
          type: string
          minLength: 1
        latitude:
          type: number
        gurasID:
          type: string
        longitude:
          type: number
        wkid:
          type: string
        cadastralID:
          type: string
        primarySecondary:
          type: string
        state:
          type: string
          minLength: 1
        postCode:
          type: number
    LotSectionPlan:
      required:
        - lotsectionplan
      type: object
      properties:
        lotsectionplan:
          type: string
          example: 1/-/SPXXXXX
          minLength: 1
    agencyAndClause:
      type: object
      properties:
        agencyName:
          type: string
          description: Name of the agency
        agencyOfficerEmail:
          type: string
          description: This is to track the email of the agency officer.
        agencyCaseID:
          type: string
          description: A fully qualified agency case number.
          example: A-XXXX
        agencyCaseStatus:
          type: string
          description: Status of the agency case.
        clauses:
          type: array
          description: The clause applicable for the corresponding agency.
          items:
            $ref: '#/components/schemas/clauseList'
        commentsForAgency:
          maxLength: 512
          type: string
          description: >-
            Infers to comments or notes a council user would like to add for the
            Agency.
      description: Holds the agency name and the clauses relating to it.
    agencyInfo:
      type: object
      properties:
        agencyName:
          maxLength: 256
          type: string
          description: Name of the agency
        agencyCaseID:
          type: string
          description: A fully qualified agency case number.
          example: A-XXXX or CL-XXX (CL-XXX  Applicable only for 'Biodiversity' Clause)
        agencyCaseStatus:
          type: string
          description: Status of the agency case.
        agencyAmount:
          type: integer
          description: >-
            only Applicable for Payment operation only and its an individual
            agency disbursement
      description: >-
        Holds the agency related information such as name and the clauses
        relating to it.
    clauseList:
      type: object
      properties:
        clauseName:
          type: string
          description: The clause applicable for the corresponding agency.
        otherClauseDescription:
          type: string
          description: >-
            This infers the Clause description when 'other' as clause is
            selected.
        clauseType:
          type: string
          description: >-
            Type of the clause. One of the below mentioned values must be
            selected for clauseType 1. Concurrence 2. Referral 3. Integrated 4.
            Notification/Information
          example: Refer to description for values
        BAMAssessment:
          type: string
          description: >-
            Applicable when clause is chosen as 'Biodiversity Conservation Act
            2016 - Part 7.12' and this infers the BAM assessment number
            associated with clause
        reductionOfBiodiversityCredits:
          type: boolean
          description: >-
            Applicable when clause is chosen as 'Biodiversity Conservation Act
            2016 - Part 7.12' and this infers if the council supports the
            request for reduction of the bio diversified credits
    CNRdeclarations:
      type: string
      description: >-
        Declarations by council for Concurrence and Referral case. One of the
        below mentioned values must be selected for CNRdeclarations 1. I confirm
        that all applicable clauses have been selected based on the information
        available to me. I note that future changes may affect assessment times
        and applicant fees. 2. I declare that the applicant has authorised the
        consent authority to disclose their personal information to the
        Department of Planning and Environment for the purpose of assessing
        their application, and that their personal information will be disclosed
        to other NSW Government agencies for the purpose of assessing their
        application.
      example: Refer to description for values
    Person:
      required:
        - contactNumber
        - email
        - familyName
        - firstName
      type: object
      properties:
        firstName:
          maxLength: 20
          type: string
          minLength: 1
        familyName:
          maxLength: 20
          type: string
          minLength: 1
        address:
          type: string
        contactNumber:
          maxLength: 10
          minLength: 8
          pattern: ^[0-9]+$
          type: string
        email:
          maxLength: 250
          type: string
          format: email
          example: abc@yopmail.com
          minLength: 1
    Documents:
      title: DownloadableDocument
      required:
        - documentName
        - documentType
        - documentURL
        - uploadedDateTime
      type: object
      properties:
        documentName:
          maxLength: 150
          type: string
          description: documentName has to be appended with file extension
          example: test.docx
          minLength: 1
        documentType:
          maxLength: 100
          type: string
          minLength: 1
        uploadedDateTime:
          type: string
          format: date-time
          minLength: 1
        documentURL:
          maxLength: 500
          type: string
          description: URL of the document to be downloaded
          minLength: 1
        documentSize:
          description: This indicates the file size of the document in bytes
          type: number
        isSensitiveDoc:
          type: boolean
          description: set this flag if you want to mark the document as sensitive
        updatedBy:
          type: string
          example: Council
    councilDocuments:
      title: DownloadableDocument
      required:
        - documentName
        - documentType
        - documentURL
        - uploadedDateTime
      type: object
      properties:
        agencyName:
          type: string
          description: agency name corresponds to upload communication.
        documentName:
          maxLength: 150
          type: string
          description: documentName has to be appended with file extension
          example: test.docx
          minLength: 1
        documentType:
          maxLength: 100
          type: string
          minLength: 1
        uploadedDateTime:
          type: string
          format: date-time
          minLength: 1
        documentURL:
          maxLength: 500
          type: string
          description: URL of the document to be downloaded
          minLength: 1
        documentSize:
          description: This indicates the file size of the document in bytes
          type: number
        isSensitiveDoc:
          type: boolean
          description: set this flag if you want to mark the document as sensitive
        updatedBy:
          type: string
          example: Council
    CommonApplicationType:
      type: object
      properties:
        commonApplicationType:
          type: string
    applicationTypes:
      title: applicationTypes
      type: string
      description: >-
        This indicates the kind of application such as Development application,
        Modification application, Review of determination. One of the below
        mentioned values must be selected for applicationTypes 1. Development
        application 2. Modification application 3. Review of determination
      example: Refer to description for values
